// 深拷贝
// let num:any=[1,2,3,4,5,{name:"郭佳俊大傻子"}];
// let num2:any=JSON.parse(JSON.stringify(num))
// num2[5].name="啦啦啦"
// console.log(num);
// console.log(num2);


// 深拷贝  使用递归
let num:any=[1,2,3,4,5,{name:"哈哈哈"}];
function copy(target:any){
    let temp;
    if(target instanceof Object){//首先判断是不是引用数据类型
        if(Array.isArray(target)){//判断是对象还是数组
            temp=[]
        }else{
            temp={}
        }
    }else{
        temp=target
    }

    for(var key in target){
        let val=target[key]  //数组里的每一项
        
        if(val instanceof Object){  //判断数组里面还有没有复杂数据类型
            temp[key]=copy(target[key])   //如果有的话递归
        }else{
            temp[key]=target[key]
        }
    }
    
    return temp
}
let srr:any=copy(num);

srr[5].name="钟汉良长得真帅"
console.log(srr);

num[5].name="哈哈"
console.log(num);

export {}
